/**
 * 
 */
package wftElements;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @author ashutosh
 * 
 */
public class ItemType extends CommonFields implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String wfSelector;
	private Role readRole;
	private Role writeRole;
	private Role executeRole;
	private String readRoleName;
	private String writeRoleName;
	private String executeRoleName;
	/**
	 * @return the readRoleName
	 */
	public String getReadRoleName() {
		return readRoleName;
	}

	/**
	 * @param readRoleName the readRoleName to set
	 */
	public void setReadRoleName(String readRoleName) {
		this.readRoleName = readRoleName;
	}

	/**
	 * @return the writeRoleName
	 */
	public String getWriteRoleName() {
		return writeRoleName;
	}

	/**
	 * @param writeRoleName the writeRoleName to set
	 */
	public void setWriteRoleName(String writeRoleName) {
		this.writeRoleName = writeRoleName;
	}

	/**
	 * @return the executeRoleName
	 */
	public String getExecuteRoleName() {
		return executeRoleName;
	}

	/**
	 * @param executeRoleName the executeRoleName to set
	 */
	public void setExecuteRoleName(String executeRoleName) {
		this.executeRoleName = executeRoleName;
	}

	private String persistenceType;
	private int persistenceDays;
	private List<ItemAttribute> itemAttrList;

	/**
	 * @return the wfSelector
	 */
	public String getWfSelector() {
		return wfSelector;
	}

	/**
	 * @param wfSelector
	 *            the wfSelector to set
	 */
	public void setWfSelector(String wfSelector) {
		this.wfSelector = wfSelector;
	}

	/**
	 * @return the readRole
	 */
	public Role getReadRole() {
		return readRole;
	}

	/**
	 * @param readRole
	 *            the readRole to set
	 */
	public void setReadRole(Role readRole) {
		this.readRole = readRole;
	}

	/**
	 * @return the writeRole
	 */
	public Role getWriteRole() {
		return writeRole;
	}

	/**
	 * @param writeRole
	 *            the writeRole to set
	 */
	public void setWriteRole(Role writeRole) {
		this.writeRole = writeRole;
	}

	/**
	 * @return the executeRole
	 */
	public Role getExecuteRole() {
		return executeRole;
	}

	/**
	 * @param executeRole
	 *            the executeRole to set
	 */
	public void setExecuteRole(Role executeRole) {
		this.executeRole = executeRole;
	}

	/**
	 * @return the persistenceType
	 */
	public String getPersistenceType() {
		return persistenceType;
	}

	/**
	 * @param persistenceType
	 *            the persistenceType to set
	 */
	public void setPersistenceType(String persistenceType) {
		this.persistenceType = persistenceType;
	}

	/**
	 * @return the persistenceDays
	 */
	public int getPersistenceDays() {
		return persistenceDays;
	}

	/**
	 * @param persistenceDays
	 *            the persistenceDays to set
	 */
	public void setPersistenceDays(int persistenceDays) {
		this.persistenceDays = persistenceDays;
	}

	/**
	 * @return the itemAttrList
	 */
	public List<ItemAttribute> getItemAttrList() {
		if(itemAttrList == null){
			itemAttrList = new ArrayList<ItemAttribute>();
		}
		return itemAttrList;
	}

	/**
	 * @param itemAttrList
	 *            the itemAttrList to set
	 */
	public void setItemAttrList(List<ItemAttribute> itemAttrList) {
		this.itemAttrList = itemAttrList;
	}

}
